library(RSocrata)
library(tidyverse)
library(lubridate)
library(tidygeocoder)
library(rgeoboundaries)
library(sf)
library(tmap)
library(spatstat)
Obtención de la base de datos
accidentes <- read.socrata("https://www.datos.gov.co/resource/yb9r-2dsi.json") %>%
mutate(fecha = ymd(fecha_accidente)) %>%
select(12, 6:8) %>%
filter(year(fecha) > 2018 & year(fecha) < 2022)
Geocodificación de las direcciones
direcciones <- paste(accidentes$sitio_exacto_accidente, ", Barranquilla, Colombia", sep = "")
localizaciones <- geo(address = direcciones, method = "arcgis")
write.csv(x = localizaciones, file = "accidentes.csv", row.names = F)
Área de estudio y base de datos final
bqlla <- geoboundaries(country = "COLOMBIA", adm_lvl = 2) %>%
filter(shapeName == "DISTRITO ESPECIAL, INDUSTRIAL Y PORTUARIO DE BARR*")%>%
st_transform(crs = 3857)
## Warning in CPL_read_ogr(dsn, layer, query, as.character(options), quiet, :
## GDAL Message 1: One or several characters couldn't be converted correctly from
## WINDOWS-1252 to UTF-8. This warning will not be emitted anymore
coordenadas <- read.csv("accidentes.csv")
coordenadas <- cbind(accidentes, coordenadas[,2:3])%>%
st_as_sf(coords = c('long', 'lat'))%>%
st_set_crs(value = 4326)%>%
st_transform(crs = 3857)%>%
st_intersection(bqlla)
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries
accidentes <- list()
for(i in 2019:2021){
accidentes[[as.character(i)]] <- filter(coordenadas, year(fecha) == i & month(fecha) > 3)
}
Gráfico de las localizaciones
tmap_mode('view')
tm_shape(bqlla)+
tm_polygons(alpha = 0.3, border.alpha = 0.7)+
tm_shape(shp = accidentes[['2019']])+
tm_dots(size = 0.01)
Prueba de aleatoriedad espacial completa
datos <- ppp(x = st_coordinates(accidentes[[1]])[,1],
y = st_coordinates(accidentes[[1]])[,2],
window = as.owin(W = bqlla))
## Warning: data contain duplicated points
plot(datos, axes = T, main = 'Accidentes en Barranquilla durante el 2019')
